package org.anachronos.jeep.core.attach;


/**
 * Launches an attch server in a separate JVM.
 * 
 * @author km
 */
public interface LaunchAttachServer {
	/**
	 * Launches the attach server in sparate JVM.
	 * @return the attach server remote control interface
	 * @throws Exception
	 */
	VirtualMachineRemoteControl launch() throws Exception;
	
	/**
	 * Stops the attach server.
	 * @throws Exception
	 */
	void stop() throws Exception;

	/**
	 * @return the attach server remote control interface
	 */
	VirtualMachineRemoteControl getVirtualMachineControl();
}
